package com.irdstudio.efp.rule.service.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 
 * 行内贷款信息
 * 
 * @author Cytus_
 * @since 2018年5月6日 下午12:29:03
 * @version 1.0
 *
 */
public class BankInnerLoanEntity implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	//客户上次被拒时间 格式YYYY-MM-DD 该字段统计法人机构下产品
	private String lastRefusedDate;
	
	//当前存在在途的授信申请笔数，含当前这笔
	private int creditAppNum;
	
	//当前存在在途的支用申请笔数，含当前这笔
	private int loanAppNum;
	
	//当前存在在途的提额申请笔数，含当前这笔
	private int addLimitAppNum;
	
	//行内黑名单标识 true 是黑名单  false不是黑名单
	private boolean blackListFlag;
	/** 行内老赖标识 true 是老赖 false不是老赖 */
	private boolean deadbeat;
	
	//申请人行内逾期标识 true 逾期  false 不逾期
	private boolean overdueLoanFlag;
	
	//客户总授信金额 所有法人统计
	private BigDecimal totalCreditAmt;

	//客户单法人授信金额
	private BigDecimal onlyLegalCreditAmt;

	/** 贷款交易信息 */
	private List<LoanTransacEntity> loadTrans;
	
	//行内未结清的贷款结构数量
	private int nonSettleOrgNum;
	/** 已授信未用款额度 */
	private BigDecimal notUseCreditAmt;
	/** 当期还款信息 */
	private CreditRepaymentEntity repayInfo;
	/** 行内客户还清拖欠本息标识 true 还清本期 false 未还清本期*/
	private boolean settleCurrPeriod;
	/** 额度异常标识 true 异常, false 正常 */
	private boolean abnormalFlag;
	/** 贷款首次发放日 */
	private String firstDisbDate;
	/** 所有机构信用及保证机构贷款额度 */
	private BigDecimal totalCreditGuarAmt;
	
	public String getLastRefusedDate() {
		return lastRefusedDate;
	}

	public void setLastRefusedDate(String lastRefusedDate) {
		this.lastRefusedDate = lastRefusedDate;
	}

	public int getCreditAppNum() {
		return creditAppNum;
	}

	public void setCreditAppNum(int creditAppNum) {
		this.creditAppNum = creditAppNum;
	}

	public int getLoanAppNum() {
		return loanAppNum;
	}

	public void setLoanAppNum(int loanAppNum) {
		this.loanAppNum = loanAppNum;
	}

	public int getAddLimitAppNum() {
		return addLimitAppNum;
	}

	public void setAddLimitAppNum(int addLimitAppNum) {
		this.addLimitAppNum = addLimitAppNum;
	}

	public boolean isBlackListFlag() {
		return blackListFlag;
	}

	public void setBlackListFlag(boolean blackListFlag) {
		this.blackListFlag = blackListFlag;
	}

	public boolean isOverdueLoanFlag() {
		return overdueLoanFlag;
	}

	public void setOverdueLoanFlag(boolean overdueLoanFlag) {
		this.overdueLoanFlag = overdueLoanFlag;
	}

	public BigDecimal getTotalCreditAmt() {
		return totalCreditAmt;
	}

	public void setTotalCreditAmt(BigDecimal totalCreditAmt) {
		this.totalCreditAmt = totalCreditAmt;
	}

	public BigDecimal getOnlyLegalCreditAmt() {
		return onlyLegalCreditAmt;
	}

	public void setOnlyLegalCreditAmt(BigDecimal onlyLegalCreditAmt) {
		this.onlyLegalCreditAmt = onlyLegalCreditAmt;
	}

	public List<LoanTransacEntity> getLoadTrans() {
		return loadTrans;
	}

	public void setLoadTrans(List<LoanTransacEntity> loadTrans) {
		this.loadTrans = loadTrans;
	}

	public int getNonSettleOrgNum() {
		return nonSettleOrgNum;
	}

	public void setNonSettleOrgNum(int nonSettleOrgNum) {
		this.nonSettleOrgNum = nonSettleOrgNum;
	}

	public BigDecimal getNotUseCreditAmt() {
		return notUseCreditAmt;
	}

	public void setNotUseCreditAmt(BigDecimal notUseCreditAmt) {
		this.notUseCreditAmt = notUseCreditAmt;
	}

	public boolean isDeadbeat() {
		return deadbeat;
	}

	public void setDeadbeat(boolean deadbeat) {
		this.deadbeat = deadbeat;
	}

	public CreditRepaymentEntity getRepayInfo() {
		return repayInfo;
	}

	public void setRepayInfo(CreditRepaymentEntity repayInfo) {
		this.repayInfo = repayInfo;
	}

	public boolean isSettleCurrPeriod() {
		return settleCurrPeriod;
	}

	public void setSettleCurrPeriod(boolean settleCurrPeriod) {
		this.settleCurrPeriod = settleCurrPeriod;
	}

	public boolean isAbnormalFlag() {
		return abnormalFlag;
	}

	public void setAbnormalFlag(boolean abnormalFlag) {
		this.abnormalFlag = abnormalFlag;
	}

	public String getFirstDisbDate() {
		return firstDisbDate;
	}

	public void setFirstDisbDate(String firstDisbDate) {
		this.firstDisbDate = firstDisbDate;
	}

	public BigDecimal getTotalCreditGuarAmt() {
		if ( null == totalCreditGuarAmt )
			totalCreditGuarAmt = BigDecimal.ZERO;
		return totalCreditGuarAmt;
	}

	public void setTotalCreditGuarAmt(BigDecimal totalCreditGuarAmt) {
		this.totalCreditGuarAmt = totalCreditGuarAmt;
	}
	
}
